package com.tocean.app.dto.response;

import lombok.Getter;

@Getter
public enum BaseResponseCode {

    SUCCESS(200, "SUCCESS"),
    FAILURE(400, "FAILURE"),
    UN_LOGIN(401, "未登录"),
    UNAUTHORIZED(403, "未认证或Token失效"), // 未认证（签名错误、token错误）
    USER_UNAUTHORIZED(402, "用户名或密码不正确"), // 未通过认证
    NOT_FOUND(404, "接口不存在"), // 接口不存在
    INTERNAL_SERVER_ERROR(500, "服务器内部错误"); // 服务器内部错误

    /* ----- ----- 框架 ----- ----- */
    public static final Integer VALID_CODE = 100000; // 表单验证
    /* ----- ----- 框架 ----- ----- */

//    public static final Integer MAINTENANCE_CODE = 9503; // 服务器超载或者正在进行停机维护，运维代码（用于后端熔断，服务治理降级）
//    public static final Integer RUNTIME_ERROR = 9500; // 运行时未捕捉到异常
//
//    public static final class Token {
//        public static final Integer TOKEN_EXPIRED = 9527; // token过期
//        public static final Integer TOKEN_INVALID = 9409; // token非法（token未能识别）
//        public static final Integer TOKEN_UNAUTHORIZED = 9401; // token缺省（用户未登录）
//        public static final Integer NO_AUTHORITY = 9403; // 没有权限（已登录，没有权限）
//    }
//
//    public static final class Param {
//        public static final Integer BAD_REQUEST = 9400; // 参数错误
//        public static final Integer BUSY_ERROR = 9510; // 业务校验异常
//    }

    private int code;
    private String desc;

    BaseResponseCode(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

}
